跳到主要内容

基础功能

数据类型

GBase 8s拥有完善的数据类型管理体系,且内置了日常应用所能涉及的所有数据类型,完全可以满足企业数据管理的需求。支持的内置数据类型包括:

  • 数字类型:SMALLINT、INTEGER、INT8、BIGINT、DECIMAL、NUMERIC、FLOAT、SMALLFLOAT、REAL、DOUBLE、LONG、SERIAL、SERIAL8、BIGSERIAL、MONEY。
  • 字符类型:CHAR、VARCHAR、LVARCHAR、NCHAR、NVARCHAR、CHARACTER VARYING。
  • 日期类型:DATE、DATETIME、INTERVAL。
  • 大对象类型:TEXT、BYTE、CLOB、BLOB。
  • JSON/BSON数据类型。
  • XML数据类型。
  • 其他类型:BOOLEAN、ROW。

GBase 8s支持简单大对象和智能大对象数据类型,可存储文本、图形、声音等内容。

  • 简单大对象(Simple large object)
    • Text:大字符对象,存储大文本信息,最大支持2G。
    • Byte:二进制数据,最大支持2G。
  • 智能大对象(Smart large object)
    • CLOB:智能大字符对象,最大支持4T。
    • BLOB:智能二进制对象,最大支持4T。

GBase 8s支持复杂数据类型的定义,主要有Row数据类型、集合数据类型。

  • Row数据类型 (Row Data Type)。
  • 集合数据类型 (Collection Data Type),包括Set、List、Multiset。

GBase 8s提供用户定义的数据类型(UDT)功能,通过UDT用户可以定义自己的数据类型。

锁和隔离级别

锁技术

  • 锁粒度:GBase 8s提供6种粒度的锁,可满足各种并发模式下的需求。
锁粒度说明
数据库锁针对整个数据库的锁
表锁针对整个表的锁
页锁针对整页数据的锁
行锁针对一个数据行的锁
键锁在索引中的一个键值上的锁
  • 锁类型:GBase 8s支持多种类型的锁,包括共享锁、排他锁、提升锁。
  • 支持自动解死锁:GBase 8s对死锁的管理十分智能化,可通过数据库锁资源的相关设置,使得数据库具有自动解死锁功能。

隔离级别

GBase 8s提供以下5个隔离级别:

隔离级别说明
Dirty Read脏读级别,这个并发性级别不锁定任何行。
Committed Read提交读,这个级别不锁定任何行,但如果有人执行更新或在行上使用排他锁,它将失败。
Cursor Stability游标固定,在选择的行上加共享锁,因此当有用户正在读取某行时,其他用户就不能更新它。
Repeatable Read可重复读,为每个读取的行加共享锁,使这些行不能再被更改,重复读取将返回同样的记录和值。
Last Committed Read最后提交读,与提交读相似;不过,当读取已更新某个行时,将从日志中读取最近提交的记录。

分片和索引

分片技术

分片技术也成为表分区技术,GBase 8s支持多种分片方式:轮询分片、表达式分片、哈希分片、范围分片和列表分片等。其中常见分片表达式有:基本表达式、Mod运算表达式、Remainder、List、Interval表达式,GBase 8s所提供的基于 Interval 的分片策略,将根据 Insert 记录的情况自动扩展分片,从而提供更为灵活的方式,减少人工维护。

另外,GBase 8s支持数据库表的二级分区技术,同时支持建立分区索引。

索引技术

GBase 8s支持B+树索引、用户定义的索引等多种索引结构;拥有多种索引类型包括:唯一索引、函数索引、簇集索引、全文索引。

GBase 8s索引除了拥有高效的查询能力外,还具备如下特性:

  • 支持不影响业务的情况下,在线创建索引的能力。
  • 支持中、英文分词全文检索,增量数据自动建立全文检索,无需手工维护。
  • 支持索引和表可分开存储。
  • 支持索引支持分片功能,具有并行扫描效果,进一步提升扫描效率。

非结构化数据支持

GBase 8s支持非结构化数据存取驱动,对Web 2.0网站能够提供很好的支持,并提供高性能,高可用性和可扩展性。

GBase 8s在非结构化数据库支持上具有如下特点:

  • 支持JSON/BSON非结构化数据格式的存储和处理,支持SQL、SQL函数、NoSQL数据库API、NoSQL数据库命令行的方式访问JSON、BSON表;
  • 支持非结构化表之间的连接、创建索引;
  • 支持非结构化表的事务管理和行级锁功能;

备份恢复

GBase 8s 的备份分为三个级别:

  • 零级备份:全量备份。
  • 一级备份:最近一次零级备份后的增量部分备份。
  • 二级备份:最近一次一级备份后的增量部分备份。

GBase 8s备份与恢复的功能特点:

  • 支持利用灵活的数据导入导出能力:支持全库、单表、多表批量的导入导出能力;支持表结构(包括所有数据对象)、表数据的单独导入导出能力;支持全库、单表、多表批量导出成二进制文件或文本文件,并支持将导出的文件中数据导入到数据库中;支持外部表技术,通过外部表加载和卸载数据;
  • 支持备份和恢复:支持单节点数据库完全备份与恢复、增量备份与恢复、数据空间备份与恢复;支持备份数据的加密、压缩存储,支持备份数据的一致性校验。支持在线备份和恢复,并具备恢复到具体某个时间点的能力。支持多种备份存储媒体,并支持部分、完整数据库的恢复能力。可通过存储管理软件(如爱数、鼎甲等国产备份恢复软件)对数据库进行备份和恢复,具有并行地运行备份和恢复功能。具备数据库事务故障、系统故障、存储媒介故障等不同级别的可恢复能力。
  • 支持数据库闪回查询,闪回查询时恢复数据,支持库级和表级等不同级别的闪回恢复;
  • 支持数据库级的数据文件镜像功能。

SQL兼容

GBase 8s支持更广泛的、与多种主流数据库语法兼容的SQL使用方法。

主流数据库兼容:数据类型兼容如:varchar2、timestamp。函数兼容如:listagg()、sys_guid()等。语法兼容如:with as、insert /fisrt all,支持为表添加注释,支持为列设置默认值等。

过程化语言兼容:实现了常用语法的兼容,简单存储过程可以不改动直接在GBase 8s中创建、调用。兼容数据类型、变量声明、赋值、顺序结构、选择结构、循环结构、静态SQL、动态SQL、异常处理等语法结构。

包兼容:支持package对象,支持以DBMS开头的一系列系统内置包。